package collection;

import java.util.List;
import java.util.Arrays;
import java.util.Collection;
import java.util.ArrayList;
import java.util.HashSet;


/**
 * 集合:
 * 1)是一种引用数据类型,用于储存一族元素, 兵器提供了多种不同的数据结构供我们使用
 * 2)java.util.Collection是一个接口, 定义了所有集合都必须具备的功能
 * 3)Collection接口有常见的的子接口
 *  3.1 List:可以重复, 有序的集合
 *  3.2 Set: 不可以重复, 无序的集合
 */
public class CollectionDemo1 {
    public static void main(String[] args) {
        //ArrayList类实现了List接口, List接口又继承了Collection接口
        //Collection c = new ArrayList();

        //HashSet类实现了Set接口, Set接口又继承了Collection接口
        Collection c = new HashSet();
        c.add("hello");//.add();为添加语句,向c集合中添加 "hello" 的字符串元素
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");

        boolean b = c.add("one");//add()的返回值为boolean型, 添加成功返回true, 否则返回false
        System.out.println(b);//true

        //集合重写了Object类toString()方法, 返回格式如下:
        //[元素1.toString(), 元素2.toSting(), 元素3.toString(),.....]
        System.out.println(c);

        System.out.println("size: "+c.size());//6, 输出集合的元素个数
        System.out.println("是否是空集:"+c.isEmpty());//false. 只有当size()为0是表示为空集
        c.clear();//清空集合
        System.out.println("集合已清空!");
        System.out.println(c);
        System.out.println("size:"+c.size());//0
        System.out.println("是否是空集:"+c.isEmpty());//true

    }
}
